home *** CD-ROM | disk | FTP | other *** search
/ PC Professionell 2006 June / PCpro_2006_06.ISO / files / freeware / openvip.exe / {app} / sdk / include / openvip / IVideoTransition.h < prev    next >
Encoding:
C/C++ Source or Header  |  2004-02-01  |  8.8 KB  |  211 lines

  1. /*
  2.  * Generated by upf-idl C++ backend (upf ABI version: 2)
  3.  * Do not edit by hand!
  4.  */
  5.  
  6. #ifndef _UPF_IDL_OPENVIP_IVIDEOTRANSITION_IDL_H_
  7. #define _UPF_IDL_OPENVIP_IVIDEOTRANSITION_IDL_H_
  8.  
  9. #include <upf/cxx.h>
  10.  
  11. #if UPF_ABI_VERSION != 2
  12. #error "Headers generated for upf ABI different from the one you have installed, please regenerate them."
  13. #endif
  14.  
  15.  
  16. #include <upf/coretypes.h>
  17. #include <upf/IObject.h>
  18. #include <openvip/IDataFragment.h>
  19. #include <openvip/IVideoFrame.h>
  20. namespace openvip 
  21. {
  22.     class IVideoTransition : virtual public ::upf::IObject
  23.     {
  24.     public:
  25.     
  26.         virtual void SetLength(long len) = 0;
  27.         virtual ::upf::Ptr< IVideoFrame > Process(long frame, IVideoFrame* inputA, IVideoFrame* inputB) = 0;
  28.     };
  29. }
  30. #include <upf/cxx_ptr.h>
  31. namespace upf {
  32. inline void __upf_dispatch__openvip_IVideoTransition_SetLength(::openvip::IVideoTransition *_upf_data, upf_Arguments *_upf_marchalled_args)
  33. {
  34.     upf::Arguments _upf_args(_upf_marchalled_args);
  35.     long len;
  36.     _upf_args.seek0();
  37.     _upf_args >> len;
  38.     _upf_data->SetLength(len);
  39. }
  40.  
  41. inline void __upf_dispatch__openvip_IVideoTransition_Process(::openvip::IVideoTransition *_upf_data, upf_Arguments *_upf_marchalled_args)
  42. {
  43.     upf::Arguments _upf_args(_upf_marchalled_args);
  44.     long frame;
  45.     ::upf::Ptr< ::openvip::IVideoFrame > inputA;
  46.     ::upf::Ptr< ::openvip::IVideoFrame > inputB;
  47.     _upf_args.seek0();
  48.     _upf_args >> frame;
  49.     _upf_args >> inputA;
  50.     _upf_args >> inputB;
  51.     ::upf::Ptr< ::openvip::IVideoFrame > _upf_retval(_upf_data->Process(frame, inputA, inputB));
  52.     _upf_args.seek0();
  53.     _upf_args << _upf_retval;
  54.     _upf_args.seek0();
  55. }
  56.  
  57.  
  58. template<> struct InterfaceTraits< ::openvip::IVideoTransition >
  59. {
  60.     typedef ::openvip::IVideoTransition value_type;
  61.  
  62.     static void _UPF_CALLING_CONVENTION dispatchFunction(void *obj, upf_MethodID method, upf_Arguments *args)
  63.     {
  64.         ::openvip::IVideoTransition *ptr = static_cast< ::openvip::IVideoTransition* >(obj);
  65.         if (method < (0 + __UPF_UPF_IOBJECT_OPCNT))
  66.         {
  67.             InterfaceTraits< ::upf::IObject >::dispatchFunction(static_cast< ::upf::IObject* >(ptr),
  68.                                                          method - (0), args);
  69.         }
  70.         else 
  71.         {
  72.             static void (*functions[])(::openvip::IVideoTransition *, upf_Arguments *) = {
  73.             __upf_dispatch__openvip_IVideoTransition_SetLength,
  74.             __upf_dispatch__openvip_IVideoTransition_Process,
  75.             NULL };
  76.             functions[method - (0 + __UPF_UPF_IOBJECT_OPCNT)](ptr, args);
  77.         }
  78.     }
  79.  
  80.     static const char* name()
  81.         { return "openvip.IVideoTransition"; }
  82.  
  83.     static const IID& iid()
  84.     {
  85.         static IID _iid = {0x31983f06,0x2bd09f3a,0xf57f6825,0x083f14de,1,0};
  86.         return _iid;
  87.     }
  88.     
  89.     static const upf_uint8_t *typereg()
  90.     {
  91.         static const upf_uint8_t desc[] = { 
  92. 0,0,0,206,0,0,24,111,112,101,110,118,105,112,46,73,86,105,100,101,
  93. 111,84,114,97,110,115,105,116,105,111,110,49,152,63,6,43,208,159,58,245,
  94. 127,104,37,8,63,20,222,0,1,0,0,0,1,0,11,117,112,102,46,73,
  95. 79,98,106,101,99,116,0,2,0,9,83,101,116,76,101,110,103,116,104,0,
  96. 4,118,111,105,100,0,1,0,4,108,111,110,103,0,3,108,101,110,1,0,
  97. 0,7,80,114,111,99,101,115,115,0,19,111,112,101,110,118,105,112,46,73,
  98. 86,105,100,101,111,70,114,97,109,101,0,3,0,4,108,111,110,103,0,5,
  99. 102,114,97,109,101,1,0,0,19,111,112,101,110,118,105,112,46,73,86,105,
  100. 100,101,111,70,114,97,109,101,0,6,105,110,112,117,116,65,1,0,0,19,
  101. 111,112,101,110,118,105,112,46,73,86,105,100,101,111,70,114,97,109,101,0,
  102. 6,105,110,112,117,116,66,1,0,0,0,0,0,155,0,0,11,117,112,102,
  103. 46,73,79,98,106,101,99,116,129,91,66,15,214,207,225,124,112,91,189,235,
  104. 231,44,230,242,0,1,0,0,0,0,0,4,0,6,105,110,99,82,101,102,
  105. 0,4,118,111,105,100,0,0,0,6,100,101,99,82,101,102,0,4,118,111,
  106. 105,100,0,0,0,14,113,117,101,114,121,73,110,116,101,114,102,97,99,101,
  107. 0,16,117,112,102,46,73,110,116,101,114,102,97,99,101,80,116,114,0,1,
  108. 0,7,117,112,102,46,73,73,68,0,12,105,110,116,101,114,102,97,99,101,
  109. 95,105,100,1,0,0,10,103,101,116,67,108,97,115,115,73,68,0,7,117,
  110. 112,102,46,67,73,68,0,0,0,0,0,0,10,2,0,7,117,112,102,46,
  111. 73,73,68,0,0,0,19,2,0,16,117,112,102,46,73,110,116,101,114,102,
  112. 97,99,101,80,116,114,0,0,0,26,1,0,7,117,112,102,46,67,73,68,
  113. 2,0,13,117,110,115,105,103,110,101,100,32,108,111,110,103,0,0,2,48,
  114. 0,0,19,111,112,101,110,118,105,112,46,73,86,105,100,101,111,70,114,97,
  115. 109,101,124,132,38,40,49,117,66,138,85,67,36,99,98,101,216,67,0,1,
  116. 0,0,0,1,0,21,111,112,101,110,118,105,112,46,73,68,97,116,97,70,
  117. 114,97,103,109,101,110,116,0,11,0,6,67,114,101,97,116,101,0,4,118,
  118. 111,105,100,0,3,0,13,117,110,115,105,103,110,101,100,32,108,111,110,103,
  119. 0,5,119,105,100,116,104,1,0,0,13,117,110,115,105,103,110,101,100,32,
  120. 108,111,110,103,0,6,104,101,105,103,104,116,1,0,0,19,111,112,101,110,
  121. 118,105,112,46,86,105,100,101,111,70,111,114,109,97,116,0,6,102,111,114,
  122. 109,97,116,1,0,0,8,71,101,116,87,105,100,116,104,0,13,117,110,115,
  123. 105,103,110,101,100,32,108,111,110,103,0,0,0,9,71,101,116,72,101,105,
  124. 103,104,116,0,13,117,110,115,105,103,110,101,100,32,108,111,110,103,0,0,
  125. 0,10,71,101,116,70,111,114,109,97,116,115,0,19,111,112,101,110,118,105,
  126. 112,46,86,105,100,101,111,70,111,114,109,97,116,0,0,0,7,71,101,116,
  127. 68,97,116,97,0,18,111,112,101,110,118,105,112,46,80,105,120,101,108,66,
  128. 117,102,82,79,0,1,0,19,111,112,101,110,118,105,112,46,86,105,100,101,
  129. 111,70,111,114,109,97,116,0,6,102,111,114,109,97,116,1,0,0,8,71,
  130. 101,116,87,68,97,116,97,0,18,111,112,101,110,118,105,112,46,80,105,120,
  131. 101,108,66,117,102,82,87,0,1,0,19,111,112,101,110,118,105,112,46,86,
  132. 105,100,101,111,70,111,114,109,97,116,0,6,102,111,114,109,97,116,1,0,
  133. 0,4,76,111,99,107,0,4,118,111,105,100,0,0,0,6,85,110,108,111,
  134. 99,107,0,4,118,111,105,100,0,0,0,8,73,115,76,111,99,107,101,100,
  135. 0,7,98,111,111,108,101,97,110,0,0,0,8,71,101,116,87,67,111,112,
  136. 121,0,19,111,112,101,110,118,105,112,46,73,86,105,100,101,111,70,114,97,
  137. 109,101,0,1,0,19,111,112,101,110,118,105,112,46,86,105,100,101,111,70,
  138. 111,114,109,97,116,0,6,102,111,114,109,97,116,1,0,0,8,77,97,107,
  139. 101,67,111,112,121,0,19,111,112,101,110,118,105,112,46,73,86,105,100,101,
  140. 111,70,114,97,109,101,0,1,0,19,111,112,101,110,118,105,112,46,86,105,
  141. 100,101,111,70,111,114,109,97,116,0,6,102,111,114,109,97,116,1,0,0,
  142. 0,0,0,62,0,0,21,111,112,101,110,118,105,112,46,73,68,97,116,97,
  143. 70,114,97,103,109,101,110,116,176,174,237,235,90,202,68,174,144,162,3,200,
  144. 168,195,7,36,0,1,0,0,0,1,0,11,117,112,102,46,73,79,98,106,
  145. 101,99,116,0,0,0,0,0,0,38,1,0,19,111,112,101,110,118,105,112,
  146. 46,86,105,100,101,111,70,111,114,109,97,116,2,0,13,117,110,115,105,103,
  147. 110,101,100,32,108,111,110,103,0,0,0,21,2,0,18,111,112,101,110,118,
  148. 105,112,46,80,105,120,101,108,66,117,102,82,79,0,0,0,21,2,0,18,
  149. 111,112,101,110,118,105,112,46,80,105,120,101,108,66,117,102,82,87,0,0,
  150. 0,0 };
  151.         return desc;
  152.     }
  153.  
  154.     static bool query(value_type *instance, MultiPurposeHookArgs *data)
  155.     {
  156.         if (data->mode == _UPF_HOOK_MODE_QUERY_INTERFACE)
  157.         {
  158.             if (upf::checkIID(*(data->u.qi.iid), iid()))
  159.             {
  160.                 data->u.qi.retval.data = instance;
  161.                 data->u.qi.retval.function = dispatchFunction;
  162.                 return true;
  163.             }
  164.         }
  165.         else if (data->mode == _UPF_HOOK_MODE_INIT_CLASSINFO)
  166.         {
  167.             upf_middleware->funcs.merge_typeinfo(typereg());
  168.             data->u.ici.ciWrapper->addInterface(iid());
  169.         }
  170.        if (InterfaceTraits< ::upf::IObject >::query(instance, data)) return true;
  171.         return false;
  172.     }
  173. };
  174.  
  175. template<class Base, int Offset>
  176. class _ProxyCode_OPENVIP_IVIDEOTRANSITION : public _ProxyCode_UPF_IOBJECT< Base, 0 >
  177. {
  178.     virtual void SetLength(long len)
  179.     {
  180.         ArgumentsOwned _upf_args;
  181.         _upf_args << len;
  182.         m_dispatch.function(m_dispatch.data, Offset+0+0+__UPF_UPF_IOBJECT_OPCNT, _upf_args.getMarchalled());
  183.     }
  184.     virtual ::upf::Ptr< ::openvip::IVideoFrame > Process(long frame, ::openvip::IVideoFrame* inputA, ::openvip::IVideoFrame* inputB)
  185.     {
  186.         ArgumentsOwned _upf_args;
  187.         _upf_args << frame;
  188.         _upf_args << inputA;
  189.         _upf_args << inputB;
  190.         m_dispatch.function(m_dispatch.data, Offset+1+0+__UPF_UPF_IOBJECT_OPCNT, _upf_args.getMarchalled());
  191.         ::upf::Ptr< ::openvip::IVideoFrame > _upf_retval;
  192.         _upf_args >> _upf_retval;
  193.         return _upf_retval;
  194.     }
  195. };
  196. #define __UPF_OPENVIP_IVIDEOTRANSITION_OPCNT ((0+__UPF_UPF_IOBJECT_OPCNT)+(2))
  197. template<> class Proxy< ::openvip::IVideoTransition > : 
  198.     public _ProxyCode_OPENVIP_IVIDEOTRANSITION< _ProxyBase< ::openvip::IVideoTransition >, 0 >
  199. {
  200. public:
  201.     Proxy(upf_Object *object, const upf_InterfaceData& dispatch)
  202.     {
  203.         init_proxy(object, dispatch);
  204.     }
  205.     virtual ~Proxy() {}
  206. };
  207.  
  208. } // namespace upf
  209.  
  210. #endif
  211.